#[derive(Debug)]
struct Point<T>{
    x:T,
    y:T
}

impl <T> Point<T>{
    fn new(x:T,y:T)->Self{
        Point{
            x,
            y
        }
    }
}

// fn foo<T>(s:T)->T{
//    return s;
// }

fn main(){
    // assert_eq!(foo("hello"),"hello");
    let point1=Point::new(3,4);

    println!("{:?}",point1);


}